[AD] Scalaアプリケーションの開発・保守は合同会社ミルクソフトにお任せください
この記事では、sbtを使ってScala 3(Dotty)を使う方法をご紹介します。
Scala 3はまだ正式リリース前です
Scala 3はDottyと呼ばれています。
DottyはScalaの次期バージョンのプロトタイプとしてのコードネームです。
公式サイトはこちらです。
Scala 3を今使うメリットとデメリット
Scala 3はまだ正式リリース前ですので、使用するのはメリットだけでなく、デメリットもあります。
Dottyを使用するメリットは、Scala 3の新機能の恩恵にいち早くあずかることができることです。
また、デメリットを挙げると以下のようになります。
- バグが含まれうる
- アップデートが早い
- アップデートによって非互換な変更が入りうる
- 関連ライブラリが追従していないことが多い
これらをそれぞれ踏まえた上で使用しましょう。
Scala 3を使用するための準備をする
以下の手順はマイルストーン版リリース前の手順です。
マイルストーン版以降では手順が異なる可能性があります。注意してください。
マイルストーン版について詳しくは以下の記事をご覧ください。
sbt-dottyプラグインを使用する
既存のプロジェクトでDottyを使用するには、プロジェクトにsbt-dottyプラグインを追加します。
project/plugins.sbt
に以下の一行を追加します。
sbtaddSbtPlugin("ch.epfl.lamp" % "sbt-dotty" % "0.4.1")
sbt-dottyプラグインの最新版は、以下のリンク先より確認してください。
使用するScalaのバージョンとしてDottyを指定する
build.sbt
内でDottyのバージョンを指定してみましょう。
記事執筆時点での最新版は0.24.0-RC1
ですが、現段階でScalaTestは0.23.0-RC1
までにしか対応していません。
したがってここでは0.23.0-RC1
を使用することとします。
sbtscalaVersion := "0.23.0-RC1"
これによって、プロジェクト内でScala 3を使用することができるようになります。
動作確認してみる
Scala 3で追加された機能を使用している例がすでにありますので、動作確認については以下の記事を参考にしてください。
以下のような合併型(Union Type)を引数にとるメソッドです。
def message(arg: Int | String) = s"Hello! world $arg"